\documentclass {article}
\usepackage {listings}
\usepackage {color}
\usepackage [left=1.2cm, right=1.2cm, top=1.2cm, bottom=1.2cm]{geometry}
\definecolor {mygreen}{rgb}{0,0.6,0}
\definecolor {mygray}{rgb}{0.5,0.5,0.5}
\definecolor {mymauve}{rgb}{0.58,0,0.82}
\lstset { %
  backgroundcolor=\color{white},   % choose the background color; you must add \usepackage{color} or \usepackage{xcolor}
  basicstyle=\small,               % the size of the fonts that are used for the code
  breakatwhitespace=false,         % sets if automatic breaks should only happen at whitespace
  breaklines=true,                 % sets automatic line breaking
  captionpos=b,                    % sets the caption-position to bottom
  commentstyle=\color{mygreen},    % comment style
  deletekeywords={...},            % if you want to delete keywords from the given language
  escapeinside={\%*}{*)},          % if you want to add LaTeX within your code
  extendedchars=true,              % lets you use non-ASCII characters; for 8-bits encodings only, does not work with UTF-8
  frame=single,                    % adds a frame around the code
  keepspaces=true,                 % keeps spaces in text, useful for keeping indentation of code (possibly needs columns=flexible)
  keywordstyle=\color{blue},       % keyword style
  language=Octave,                 % the language of the code
  morekeywords={*,...},            % if you want to add more keywords to the set
  numbers=none,                    % where to put the line-numbers; possible values are (none, left, right)
  numbersep=5pt,                   % how far the line-numbers are from the code
  numberstyle=\tiny\color{mygray}, % the style that is used for the line-numbers
  rulecolor=\color{black},         % if not set, the frame-color may be changed on line-breaks within not-black text (e.g. comments (green here))
  showspaces=false,                % show spaces everywhere adding particular underscores; it overrides 'showstringspaces'
  showstringspaces=false,          % underline spaces within strings only
  showtabs=false,                  % show tabs within strings adding particular underscores
  stepnumber=2,                    % the step between two line-numbers. If it's 1, each line will be numbered
  stringstyle=\color{mymauve},     % string literal style
  tabsize=2,                       % sets default tabsize to 2 spaces
  title=\lstname                   % show the filename of files included with \lstinputlisting; also try caption instead of title
}
\begin {document}
\title {NCTU_electron Codebook}
\lstinputlisting [language=bash] {code/.vimrc}
\lstinputlisting [language=c++] {code/combination.cpp}
\lstinputlisting [language=java] {code/ConvexHull.java}
\lstinputlisting [language=c++] {code/double_lca.cpp}
\lstinputlisting [language=c++] {code/Geometry.cpp}
%\lstinputlisting [language=c++] {code/Hash.cpp}
\lstinputlisting [language=c++] {code/IDAstar.cpp}
%\lstinputlisting [language=c++] {code/inverse.cpp}
\lstinputlisting [language=c++] {code/km.cpp}
%\lstinputlisting [language=java] {code/MyHashMap.java}
%\lstinputlisting [language=java] {code/Scan.java}
%\lstinputlisting [language=java] {code/SegmentTree_Basic.java}
%\lstinputlisting [language=java] {code/SegmentTree.java}
\lstinputlisting [language=c++] {code/SegmentTree.cpp}
\lstinputlisting [language=java] {code/SplayTree.java}
\lstinputlisting [language=c++] {code/SuffixArray.cpp}
%\lstinputlisting [language=c++] {code/tarjan_lca.cpp}
%\lstinputlisting [language=java] {code/Tester.java}
\lstinputlisting [language=java] {code/Treap.java}
\end {document}
